home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_300 / 364_01 / keywords.h < prev    next >
C/C++ Source or Header  |  1992-05-08  |  2KB  |  88 lines

  1.  
  2. #if !defined(TYPES_DEFINED)
  3. enum  data_types
  4. #endif
  5.  {
  6.   CHARACTER,      /*  0  */
  7.   INTEGER,
  8.   UNSIGNED,
  9.   SIGNED,
  10.   SHORT,
  11.   LONG,            /*  5  */
  12.   FLOAT,
  13.   DOUBLE,
  14.   VOID,
  15.   file,
  16.   STRUCTURE,         /*   10   */
  17.   TYPEDEF,
  18.   INCLUDE_,
  19.   DEFINE_,
  20.   UNION,
  21.   HUGE,                          /*   15    */
  22.   SEGMENT,
  23.   ENUM,
  24.   END_TYPES                        /*  17   */
  25.  };
  26.  
  27. #define PREPROCESSOR (END_TYPES + 0x10)
  28. #define NO_TYPE 0x80
  29. #define TYPEDEF_OPEN TYPEDEF + 101
  30. #define TYPEDEF_ONELINE TYPEDEF + 100
  31.  
  32. #if defined (EXTERNAL)
  33.   extern char *TYPES[];
  34.   extern char *MODIFIERS[];
  35. #else
  36. char *TYPES[] = { "char", "int", "unsigned", "signed", "short", "long",
  37.            "float", "double", "void", "FILE", "struct", "typedef",
  38.            "include", "define", "union",  "huge", "segment",
  39.            "enum"
  40.          };
  41.  
  42. char *MODIFIERS[] = { "cdecl", "fortran", "pascal", "based", "far", "near",
  43.                "interrupt", "extern", "static" , "segname", "loadds",
  44.                "volatile", "const"
  45.                };
  46.  
  47. #define TYPES_DEFINED
  48. #endif
  49.  
  50. enum data_modifiers {  CDECL,   FORTRAN,   PASCAL,   BASED,   FAR,   NEAR,
  51.                INTERRUPT, EXTERN, STATIC, SEGNAME, LOADDS, VOLATILE,
  52.                CONSTANT, END_MODS
  53.                };
  54.  
  55.  
  56. #define USER_MOD  END_MODS + 1
  57.  
  58. #define SIGNED_VAR  0x7300
  59. #define UNSIGNED_VAR  0x7500
  60. #define LONG_DOUBLE 0x6c00
  61.  
  62. #define nKEY_WORDS 16
  63. #if defined (EXTERNAL)
  64.   extern char *KEYWORDS[nKEY_WORDS] ;
  65. #else
  66. char *KEYWORDS[nKEY_WORDS] =
  67. {
  68.   "_asm",
  69.   "auto",
  70.   "break",
  71.   "case",
  72.   "continue",
  73.   "default",
  74.   "do",
  75.   "else",
  76.   "enum",
  77.   "for",
  78.   "goto",
  79.   "if",
  80.   "sizeof",
  81.   "switch",
  82.   "return",
  83.   "while"
  84.  
  85. };
  86. #endif
  87.  
  88.